<link rel="stylesheet" href="{{ asset('bower_components/alertify.js/themes/alertify.core.css') }}">
<link rel="stylesheet" href="{{ asset('bower_components/alertify.js/themes/alertify.bootstrap.css') }}">

<script src="{{ asset('bower_components/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('bower_components/bootstrap/dist/js/bootstrap.min.js') }}"></script>
<script src="{{ asset('bower_components/jquery-form/jquery.form.js') }}"></script>
<script src="{{ asset('bower_components/jquery-pjax/jquery.pjax.js') }}"></script>
<script src="{{ asset('bower_components/alertify.js/lib/alertify.min.js') }}"></script>

<script>
    $(function() {
        (function() {
            if (!$.support.pjax) {
                alert("当前浏览器不支持HTML5");
            }
            // pjax
            $(document).pjax("a", {
                container: "#container",    // 当前页 的容器
                fragment: "#container",     // 将 目标页 的容器 替换 ↑
                timeout: 5000
            });

//            // pjax loading
//            $(document).on("pjax:send", function() {
//                alertify.log("页面加载中...", "", 0);
//            });
//            $(document).on("pjax:complete", function() {
//                $("#alertify-logs").remove();
//            });

            // form post
            $("form[method=post]").ajaxForm({
                success: function(data) {
                    _success_handle(data);
                },
                error: function(data) {
                    _error_handle(data);
                }
            });

            /**
             * 成功处理
             * @param data
             * @private
         */
            function _success_handle(data) {
                switch(data.type) {
                    case 1:
                        alertify.success(data.info);
                        break;
                    case 2:
                        alertify.error(data.info);
                        break;
                    default:
                        alertify.log(data.info);
                }
                if (null !== data.redirect) {   // 跳转
                    setTimeout(function() {
                        if ('#' == data.redirect) { // 刷新当前页面
                            $.pjax.reload("#container");
                        } else {
                            // pjax
                            $.pjax({
                                container: "#container",    // 当前页 的容器
                                fragment: "#container",     // 将 目标页 的容器 替换 ↑
                                timeout: 5000,
                                url: data.redirect
                            });
                        }
                    },1000);
                }
                return;
            }

            /**
             * 错误处理
             * @param data 服务端返回数据
             * @private
         */
            function _error_handle(data) {
                if (422 == data.status) {
                    var errors = data.responseJSON;
                    $.each(errors, function(key, value) {
                        alertify.error(value[0]);
                    });
                } else {
                    console.error(data);
                }
                return;
            }
        })();

    });
</script>